﻿using SmartAPI.SmartArchive.Dto;
using System.Threading.Tasks;
using WebApiClientCore;
using WebApiClientCore.Attributes;

namespace SmartAPI.SmartArchive
{
    public interface IOcrApi : IHttpApi
    {
        /// <summary>
        ///  通⽤⽂字识别模型
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/lab/ocr/predict/general")]
        Task<GeneralResultDto<object>> GeneralAsync([FormDataContent] GeneralRequestDto input);

        /// <summary>
        /// 场景模型
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/lab/ocr/predict/ticket")]
        Task<BaseResultDto<TicketResultDto>> TicketAsync([FormDataContent] BaseRequestDto input);

        /// <summary>
        /// 表格识别
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/lab/ocr/predict/table")]
        Task<BaseResultDto<TableResultDto>> TableAsync([FormDataContent] BaseRequestDto input);

        /// <summary>
        /// 聚类识别
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/lab/ocr/predict/classify")]
        Task<AutoClassResultDto<object>> ClassifyAsync([FormDataContent] BaseRequestDto input);
    }
}
